package string;
/**
 * java.lang.StringBuilder专门用于编辑字符串内容的工具类
 * 其内部维护一个可变的char数组
 * 同时提供了编辑字符串内容的相关操作: 增删改插
 */
public class StringBuildDemo {
    public static void main(String[] args) {
        //StringBuilder的创建方式
        StringBuilder builder1 = new StringBuilder();       //空字符串
        StringBuilder builder2 = new StringBuilder("abc");  //abc串

        //String和StringBuilder互转：
        String str = "abc";
        StringBuilder builder3 = new StringBuilder(str);    //abc串，基于String对象构造StringBuilder
        String str2 = builder3.toString();                  //将builder3转换为String

        String str3 = "好好学习Java";
        StringBuilder builder = new StringBuilder(str3);
        //append()：追加内容---在末尾追加
        builder.append("，为了找个好工作");
        System.out.println(builder);        //好好学习Java，为了找个好工作
        //replace()：替换部分内容（含头不含尾）
        builder.replace(9,16,"为了改变世界");
        System.out.println(builder);        //好好学习Java，为了改变世界
        //delete()：删除部分内容（含头不含尾）
        builder.delete(9,16);               //删除下标为9到16的
        System.out.println(builder);        //好好学习Java，
        //insert()：插入内容
        builder.insert(8,"活着"); //在下标8的位置插入活着
        System.out.println(builder);        //好好学习Java活着，
        //reverse()：反转
        builder.reverse();                  //反转builder内容
        System.out.println(builder);        //，着活avaJ习学好好
    }
}
